import Ocean from './components/Ocean.vue';
import useForm from './hooks/useForm';
import useFormItem from './hooks/useFormItem';
import useFormItems from './hooks/useFormItems';
import useModal from './hooks/useModal';
import useTable from './hooks/useTable';
import usePagination from './hooks/usePagination';
import useDialog from './hooks/useDialog';
import useDrawer from './hooks/useDrawer';
import useTableTemplate from './hooks/useTableTemplate';
import useCheckbox from './hooks/useCheckbox';
import useButton from './hooks/useButton';
import useController from './hooks/useController';
import useSetting from './hooks/useSetting';
import OceanComponent from './utils/class/OceanComponent';

import OIcon from './components/Icon.vue';
import OIconButton from './components/IconButton.vue';

export default (app) => {
  app.component('Ocean', Ocean);
  app.component('OIcon', OIcon);
  app.component('OIconButton', OIconButton);
};

export {
  useForm,
  useFormItem,
  useModal,
  useTable,
  usePagination,
  useDialog,
  useDrawer,
  useCheckbox,
  useButton,
  useTableTemplate,
  useController,
  useSetting,
  useFormItems,
  OceanComponent,
};
